from django.db import models


# Create your models here.

class Areas(models.Model):
    """
    行政区划
    """
    # on_delete=models.SET_NULL: 置空模式，删除的时候，外键字段被设置为空，前提就是blank = True, null = True,
    # 定义该字段的时候，允许为空。
    # related_name="subs":相当于我们使用related代替了在通过一个对象查询出多个对象集合时，使用表名_set来获取
    # 复制代码  # related_name 关联字段的名称[在获取数据的时候使用]

    # 在django中如果在自关联字段的表中使用 模型类小写_set　频繁查询数据，会出现数据混乱，所以一般需要使用related_name重新设置一个属性名称

    name = models.CharField(max_length=20, verbose_name="名称")
    parent = models.ForeignKey("self", on_delete=models.SET_NULL, related_name="subs", null=True, blank=True,
                               verbose_name="上级行政区划")

    class Meta:
        db_table = "tb_areas"
        verbose_name = "行政区划"
        verbose_name_plural = "行政区别"

    def __str__(self):
        return self.name


